This invention relates generally to a multifunctional printing system including a queue and a set of resources and, more particularly, to a system which manages the selective holding of a job in the queue in accordance with a policy when a resource required by a program corresponding with the job is unavailable in the set of resources.
Electronic printing systems typically include an input section, sometimes referred to as an input image terminal (xe2x80x9cIITxe2x80x9d), a controller, and an output section or print engine, sometimes referred to as an image output terminal (xe2x80x9cIOTxe2x80x9d). In one type of electronic printing system, manufactured by Xerox(copyright) Corporation, known as the DocuTech(copyright) electronic printing system, a job can be inputted to the printing system from, among other sources, a network or a scanner. An example of a printing system with both network and scanner inputs is found in the following patent:
When a scanner is employed to generate the job, image bearing documents are scanned so that the images therein are converted to image data for use in making prints. When a network is used to generate the job, a stream of data, including various job related instructions and image data, expressed in terms of a page description language is captured, decomposed and stored for printing. As is known, a network job can have its origin in a remote client, such as a workstation, or a print server with a storage device. Jobs provided at the IIT may be stored in a memory section, sometimes referred to as xe2x80x9celectronic precollation memoryxe2x80x9d. An example of electronic precollation memory may be found in the following patent:
U.S. Pat. No. 5,047,955 discloses a system in which input image data of a job is rasterized and compressed. The compressed, rasterized image data is then stored, in collated form, in a job image buffer. Once the job has been stored in the job image buffer, a selected number of job copies can be decompressed and printed without further job rasterization.
In one area related to electronic printing, namely digital copying, a demand for xe2x80x9cmultifunctionalityxe2x80x9d continues to grow. As illustrated by the following patent, a multifunctional digital copier can assume the form of an arrangement in which a single electrostatic processing printer is coupled with a plurality of different image input devices, with such devices being adapted to produce image related information for use by the printer.
U.S. Pat. No. 3,957,071 discloses that the image related information, in one example, could have its origin in video facsimile signals, microfilm, data processing information, light scanning platens for full size documents, aperture cards and microfiche.
The following patents also relate to the area of multifunctional digital copying:
Multifunctional copying devices are typically adapted to store a plurality of jobs for eventual printing. In one example, jobs are ordered for printing in an arrangement referred to as a xe2x80x9cprint queuexe2x80x9d. Xerox Network Systems have employed the concept of the print queue for at least a decade to manage jobs at network printers. Further teaching regarding network printing is provided in the following patent:
The concept of a print queue is integral to the operation of various digital reproduction systems. Through appropriate queue management, a job currently in the process of being printed can be interrupted with an interrupt job in a manner disclosed by the following:
Referring particularly to the ""735 Patent, a special job is obtained from a mass memory, shown by way of a xe2x80x9cjob filexe2x80x9d, and inserted into the queue at a xe2x80x9clogical pointxe2x80x9d with respect to the job currently being processed. When printing reaches the logical point at which the special job was inserted, the job currently being processed is interrupted so that the special job is processed. Upon completion of the processing of the special job, processing of the interrupted job is resumed.
The queue disclosed in the ""735 Patent is managed, in the normal case, on a first-come-first-serve (xe2x80x9cFIFOxe2x80x9d) basis except when special or interrupt jobs are inserted into the queue. In the illustrated embodiment of the ""735 Patent, the interrupt job is inserted into the queue as described above except when an interrupt job is currently in the process of printing. When an interrupt job is currently printing, a second interrupt job is placed behind the interrupt job in process. Essentially, priority is given to the interrupt job currently in process. The concerns associated with interrupting a first interrupt job with a second interrupt job are also addressed in the following patent:
The queue management arrangement of the ""735 Patent is not optimally suited for use in a multifunctional context because it does not differentiate among job types for the purpose of managing the queue. Consequently, a print job cannot, in many common instances, be given priority over a copy job, or vice versa. Systems particularly well suited for use with a multifunctional printing systems are disclosed by the following references:
Referring particularly to the ""345 Patent, a first queue is used to store copy and print jobs, while a second queue, communicating with the first queue, is used to store facsimile (xe2x80x9cfaxxe2x80x9d) jobs in parallel with the first queue. After a preselected number of one or more fax jobs is stored in the second queue, the stored job(s) is placed in front of the jobs of the first queue so that the one or more fax jobs can be printed ahead of the currently queued copy/print jobs.
Other queue management and/or job scheduling schemes are disclosed in U.S. Pat. Nos. 5,113,355, 5,327,526 and 5,377,016. An abstract pertaining to each disclosure is provided below:
U.S. Pat. No. 5,113,355 discloses a printer control system for enabling queue identifiers, which identify different print jobs, to be sorted such that those queue identifiers identifying print jobs which require fonts that are already loaded in the print server are placed at the head of a print list, and those queue identifiers identifying print jobs which require fonts that are not loaded in the print server are placed at the end of the print list. The print jobs are then processed in the order that the queue identifiers appear on the print list. When a print job to be processed requires fonts that are not loaded into the system a message is displayed on a display unit in order to inform the operator which fonts need to be loaded into the system.
U.S. Pat. No. 5,327,526 discloses a print job control system which processes print requests to set an order of priority for printing print jobs. A print job manager checks the print request and determines what print option is selected and manipulates the queue identifiers associated with respective print jobs and enters them into a print queue table. One feature allows changing the print order thereby overriding the designated print option. Another feature allows for increasing the priority of low priority jobs regardless of the designated print option assuring that the low priority jobs will be printed.
U.S. Pat. No. 5,377,016 discloses a control circuit which receives advance data representing a predetermined number of copy jobs to be provided from a scanner and data representing a predetermined number of print jobs to be provided from external equipment. The control circuit causes each of the copy jobs and print jobs on the basis of such data to be queued, and the jobs to be processed in a time divisional and parallel manner. Basically, the control circuit gives higher priority to the copy job. The priority order can be changed according to an instruction from a user interface. When a current job has been suspended, the control circuit causes a succeeding job to be processed earlier.
As demonstrated by U.S. Pat. No. 5,113,355, a problem arises in queue management when a font called for by a given print job program is unavailable at a host device intended for use in executing the given print job. While the ""355 Patent addresses this problem by prohibiting the printing of a font deficient job, it does not discriminate between jobs on the basis of job source or job ownership. It can be appreciated that a resource deficiency in one job type, such as a resource deficiency in a copy job, may be readily remedied at the host device, while a resource deficiency in a another job type, such as a resource deficiency in a print job, may not. While U.S. Pat. No. 5,327,526 shows an appreciation for the problems associated with prioritizing jobs in a queue in accordance with job type, it does not address the problem of holding resource deficient jobs in the queue on the basis of job type. It would therefore be desirable to provide a control scheme that manages the holding of resource deficient jobs in a queue on the basis of job type.
Moreover, U.S. Pat. No. 5,113,355 does not appear to appreciate that the supervisor/owner of a given host device may not wish to hold a resource deficient job in a queue for any longer than a selected interval. For instance, the supervisor/owner of the given host device may not desire to maintain the resource deficient job in the queue for any longer than 24 hours. Essentially, the supervisor/owner may desire to hold the resource deficient job in the queue on a timed basis.
U.S. Pat. No. 5,129,639 to DeHority discloses a system for determining the best match between a job requirement and an available printer capability. As taught by the ""639 Patent, a user disposed remotely of the printer may be given an opportunity to remedy a resource deficiency during a time interval set with a timer. If the user does not provide an answer during the time interval, then an operator of the printer can resolve the mismatch, provided the operator can ascertain, by reference to a user-provided strategy, that a substitution is permissible. It is not believed that the ""639 Patent addresses the use of a timer in a queue management context. That is, when the strategy makes substitution impermissible, a xe2x80x9cNo Goxe2x80x9d indication is provided. It would be desirable to provide a queue management system in which a resource deficient job is held in a queue on a timed basis.
The disclosure of each reference mentioned or discussed in the above Background is incorporated herein by reference.
In accordance with the presently disclosed invention there is provided a method for a printing system with a queue for structuring an order in which a plurality of jobs is to be processed with the printing system. A first set of resources is provided to the printing system for processing each of the plurality of jobs, and one of the plurality of jobs is programmed with a second set of resources indicating the specific resources required for processing the job pursuant to marking thereof. The method, which is intended for managing the processing of the one of the plurality of jobs when one or more of the resources of the second set of resources is currently unavailable in the first set of resources, includes the steps of: (a) providing a policy dictating how a given job should be managed, relative to the queue, when a resource mismatch exists between the first set of resources and a set of resources programmed for the given job; (b) determining if a resource mismatch exists between the first set of resources and the second set of resources; (c) when it is determined with said (b) that a resource mismatch exists between the first set of resources and the second set of resources, using said policy to either, (i) hold the one of the plurality of jobs or the identifier for the one of the plurality of jobs in the queue until a first preselected condition is met, or (ii) prohibit holding of the one of the plurality of jobs or the identifier for the one of the plurality of jobs in the queue.